package com.tsj.spzx.service;

import com.github.pagehelper.PageInfo;
import com.tsj.spzx.model.dto.product.ProductDto;
import com.tsj.spzx.model.entity.product.Product;

public interface ProductService {

    /**
     * 分页查询商品信息
     * @param page
     * @param limit
     * @param productDto
     * @return
     */
    PageInfo<Product> findByPage(Integer page, Integer limit, ProductDto productDto);

    /**
     * 保存商品信息
     * @param product
     */
    void save(Product product);

    /**
     * 根据id查询商品信息
     * @param id
     * @return
     */
    Product getById(Long id);

    /**
     * 修改商品信息
     * @param product
     */
    void updateById(Product product);

    /**
     * 根据id删除商品信息
     * @param id
     */
    void deleteById(Long id);

    /**
     * 商品审核
     * @param id
     * @param auditStatus
     */
    void updateAuditStatus(Long id, Integer auditStatus);

    /**
     * 商品上下架
     * @param id
     * @param status
     */
    void updateStatus(Long id, Integer status);
}
